/**
*
QuickUML; A simple UML tool that demonstrates one use of the
Java Diagram Package
Copyright (C) 2001 Eric Crahen <crahen@cse.buffalo.edu>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package uml.ui;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.UIManager;
/**
* @class ColorTile
*
* @date 08-20-2001
* @author Eric Crahen
* @version 1.0
*
* Colored button that will display the color of given UIManager property and
* display a JColorChooser that will edit that color when it is pressed.
*/
public class ColorTile extends JButton {
private String title;
private String colorProperty;
/**
* Create a new ColorTilefor teh given UIManager property.
*
* @param String property
*/
public ColorTile(String colorProperty) {
this(colorProperty, "Choose a Color");
}
/**
* Create a new ColorTilefor teh given UIManager property and the given title
* on the color chooser.
*
* @param String property
* @param String chooser title
*/
public ColorTile(String colorProperty, String title) {
this.colorProperty = colorProperty;
this.title = title;
Dimension sz = new Dimension(32,32);
setMinimumSize(sz);
setMaximumSize(sz);
setBackground(UIManager.getColor(colorProperty));
}
/**
* Listen for press event
*/
protected void fireActionPerformed(ActionEvent event) {
Color c = JColorChooser.showDialog(this, title, UIManager.getColor(colorProperty));
if(c != null)
UIManager.put(colorProperty, c);
}
}